#ifndef INS_INFO_H
#define INS_INFO_H
#include "base.h"
// 读取JSON文件内容
char *get_opcodes_json();

// 解析JSON数据并获取指定操作码的信息
json_t *get_opcode_info(uint8_t opcode, bool is_cb_prefixed);

// 获取指令的助记符
char *get_mnemonic(uint8_t opcode, bool is_cb_prefixed);

// 获取指令的字节数
int get_bytes(uint8_t opcode, bool is_cb_prefixed);

// 获取指令的周期数
struct Cycles *get_cycles(uint8_t opcode, bool is_cb_prefixed);

// 获取指令的操作数
struct Operand *get_operands(uint8_t opcode, bool is_cb_prefixed);

// 获取指令是否为立即数
bool get_immediate(uint8_t opcode, bool is_cb_prefixed);

// 获取指令对标志位的影响
struct Flags *get_flags(uint8_t opcode, bool is_cb_prefixed);
#endif